package repository

import (
	"context"

	"Data-API-MCP/backend/internal/domain/entity"
)

// ServiceRepository 服务仓储接口
type ServiceRepository interface {
	// Create 创建服务
	Create(ctx context.Context, service *entity.Service) error
	// Update 更新服务
	Update(ctx context.Context, service *entity.Service) error
	// Delete 删除服务
	Delete(ctx context.Context, id string) error
	// FindByID 根据ID查找服务
	FindByID(ctx context.Context, id string) (*entity.Service, error)
	// FindByName 根据名称查找服务
	FindByName(ctx context.Context, name string) (*entity.Service, error)
	// List 获取服务列表
	List(ctx context.Context, offset, limit int) ([]*entity.Service, error)
	// Count 获取服务总数
	Count(ctx context.Context) (int64, error)
	// ListByConnection 获取指定连接的服务列表
	ListByConnection(ctx context.Context, connectionID string, offset, limit int) ([]*entity.Service, error)
	// CountByConnection 获取指定连接的服务总数
	CountByConnection(ctx context.Context, connectionID string) (int64, error)
}
